home *** CD-ROM | disk | FTP | other *** search
-
- Command Line Options for MIDI Transformation Example with Midicable 2.4:
-
- Convert Controller to start-stop: Ctrl #5,Chn1, 64..127 = start, 0..63=stop
- TR1=FFFF40,B00540,FA,1 (start)
- TR2=FFFF40,B00500,FC,1 (stop)
-
- Convert a controller to NRPN (#1,all channels) (eg. AWE32 cutoff)
- TR1=F0FF,B001,00637F,03 ( add NRPN MSB-127 )
- TR2=F0FF,B001,006215,03 ( add NRPN LSB-21 - AWE32 Filter Cutoff)
- TR3=F0FF,B001,000600,03 ( add Data MSB 0 )
- TR4=F0FF,B001,002680,01 ( convert Ctrl to Data LSB )
-
- Convert Note Velocity to additional Pitchbend (funny "detuned Piano")
- TR1=F000FF,900000,808040,01 (convert Note-On velo[0] to NoteOff event)
- TR2=F0,90,E00080,03 (add pitchbend w. velocity to )
-
- Convert Note Velocity to (additional) channel Aftertouch. All Channels
- TR1=F000FF,900000,808040,01 (convert Note-On velo[0] to NoteOff event)
- TR2=F0,90,A081,03 (add channel pressure w/ Data2)
-
- Convert Note Velocity to Aftertouch and fix Note Velo to 127
- TR1=F000FF,900000,808040,01 (convert Note-On velo[0] to NoteOff event)
- TR2=F0,90,A081,03 (add channel pressure w/ Data2)
- TR3=F0,90,00807F,01 (for all NoteOn set Data2 to 127
-
- Fix Note Velocity to 127
- TR1=F000FF,900000,808040,01 (convert Note-On velo[0] to NoteOff event)
- TR2=F0,90,00807F,01 (for all NoteOn set Data2 to 127
-
- Convert Active Sense to Bass Drum, MidiClk to HiHat
- TR1=FF,FE,99247F,03
- TR2=FF,F8,992C40,03
-
-
-
-
- Reference:
-
- TRx=MASK,TRIGGER,VALUE,FUNC
-
- x = 1..4
-
- MASK
- up to 3 bytes (and a 4th obsolete byte)
-
- TRIGGER
- up to 3 bytes (and a 4th obsolete byte)
-
- This 2 patterns are used to compare the message:
-
- if ( (Message And MASK ) = TRIGGER ) then DoTransf(....)
-
- the AND is a bitwise AND between the two 32bit values.
- MASK and TRIGGER must be written in MOTOROLA Notation,
- This has the advantage, that 90 and 9000 and 900000 is the same.
-
- If this camparisom is true, then the Result is setted to VALUE,
- but...
- if first VALUE byte (status byte) is invalid (i,e, < $80)
- then the message is not changed.
- If channel is not masked, then it is unchanged.
-
- if VALUE data bytes are invalid (Hi-bit set, $80), the original
- data is kept. $81 uses the other data byte (data1<->data2).
-
- A value of 008080 means unchanged message. Cryptic, but it is.
-
- Some Patterns:
- to match Controller on all channels, use TR1=F0,B0,...
-
-
- Some Warnings:
- You cannot split Notes by velocity into different Midi channels -
- The NoteOff-events will get lost !
-